256e736e48ad2a3069f023bca3b1ffd77337d27a,src/com/opencms/workplace/CmsTaskAction.java,CmsTaskAction,forward,#CmsObject#number#String#String#,334
Before Change
// if "Alle Rollenmitglieder von Aufgabe Benachrichtigen" checkbox is selected.
if(cms.getTaskPar(task.getId(), C_TASKPARA_ALL) != null) {
try {
org.opencms.util.CmsMail mail = new org.opencms.util.CmsMail(cms, cms.getRequestContext().currentUser(),
cms.readGroup(task), subject, contentBuf.toString(), "text/plain");
mail.start();
}
catch(Exception exc) {
if(OpenCms.getLog(CmsTaskAction.class).isWarnEnabled()) {
OpenCms.getLog(CmsTaskAction.class).warn("Error while sending task mail", exc);
}
}
}
else {
// send a mail to user
CmsUser[] user = {
cms.readAgent(task)
};
try {
org.opencms.util.CmsMail mail1 = new org.opencms.util.CmsMail(cms,
cms.getRequestContext().currentUser(), user, subject, contentBuf.toString(), "text/plain");
mail1.start();
}
catch(Exception exc) {
if(OpenCms.getLog(CmsTaskAction.class).isWarnEnabled()) {
OpenCms.getLog(CmsTaskAction.class).warn("Error while sending task mail", exc);
}
}
// send a mail to owner
CmsUser[] owner = {
cms.readOwner(task)
};
try {
org.opencms.util.CmsMail mail2 = new org.opencms.util.CmsMail(cms, cms.getRequestContext().currentUser(),
owner, subject, contentBuf.toString(), "text/plain");
mail2.start();
}
catch(Exception exc) {
After Change
* thrown in calling methods.
*/
public static void forward(CmsObject cms, int taskid, String newEditorName, String newRoleName) throws CmsException {
CmsXmlLanguageFile lang = new CmsXmlLanguageFile(cms);
CmsUser newEditor = cms.readUser(newEditorName);
if(newRoleName.equals(C_ALL_ROLES)) {
newRoleName = cms.readUser(newEditorName).getDefaultGroup().getName();
}
CmsGroup oldRole = cms.readGroup(newRoleName);
cms.forwardTask(taskid, oldRole.getName(), newEditor.getName());
String comment = lang.getLanguageValue("task.dialog.forward.logmessage");
comment += " " + CmsUser.getFullName(newEditor);
cms.writeTaskLog(taskid, comment, C_TASKLOGTYPE_FORWARDED);
// send an email if "Benachrichtigung bei Weiterleitung" was selected.
CmsTask task = cms.readTask(taskid);
if(cms.getTaskPar(task.getId(), C_TASKPARA_DELIVERY) != null) {
StringBuffer contentBuf = new StringBuffer(lang.getLanguageValue("task.email.forward.content"));
contentBuf.append("\n");
contentBuf.append(lang.getLanguageValue("task.label.project"));
contentBuf.append(": ");
String projectname = "?";
try {
projectname = cms.readTask(task.getRoot()).getName();
}
catch(Exception exc) {
// no root?!
}
contentBuf.append(projectname);
contentBuf.append("\n");
contentBuf.append(lang.getLanguageValue("task.label.task"));
contentBuf.append(": ");
contentBuf.append(task.getName());
contentBuf.append("\n");
contentBuf.append(lang.getLanguageValue("task.label.actuator"));
contentBuf.append(": ");
contentBuf.append(CmsUser.getFullName(cms.readOwner(task)));
contentBuf.append("\n");
contentBuf.append(lang.getLanguageValue("task.label.taskfor"));
contentBuf.append(": ");
contentBuf.append(CmsUser.getFullName(cms.readOriginalAgent(task)));
contentBuf.append("\n");
contentBuf.append(lang.getLanguageValue("task.label.editor"));
contentBuf.append(": ");
contentBuf.append(CmsUser.getFullName(cms.readAgent(task)));
int projectid = cms.readProject(task).getId();
contentBuf.append("\n\n\n" + getTaskUrl(cms, task.getId(), projectid));
String subject = lang.getLanguageValue("task.email.forward.subject") + " " + CmsUser.getFullName(cms.readUser(task.getAgentUser())) + " / " + newRoleName;
// if "Alle Rollenmitglieder von Aufgabe Benachrichtigen" checkbox is selected.
if(cms.getTaskPar(task.getId(), C_TASKPARA_ALL) != null) {
try {
CmsGroup group = cms.readGroup(task);
Vector users = cms.getUsersOfGroup(group.getName());
CmsSimpleMail mail = createMail(cms.getRequestContext().currentUser(),
users, subject, contentBuf.toString(), true);
new CmsMailTransport(mail).send();
}
catch(Exception exc) {
if(OpenCms.getLog(CmsTaskAction.class).isWarnEnabled()) {
OpenCms.getLog(CmsTaskAction.class).warn("Error while sending task mail", exc);
}
}
}
else {
// send a mail to user
CmsUser[] user = {
cms.readAgent(task)
};
try {
CmsSimpleMail mail1 = createMail(cms.getRequestContext().currentUser(),
user, subject, contentBuf.toString());
new CmsMailTransport(mail1).send();
}
catch(Exception exc) {
if(OpenCms.getLog(CmsTaskAction.class).isWarnEnabled()) {
OpenCms.getLog(CmsTaskAction.class).warn("Error while sending task mail", exc);
}
}
// send a mail to owner
CmsUser[] owner = {
cms.readOwner(task)
};
try {
CmsSimpleMail mail2 = createMail(cms.getRequestContext().currentUser(),
owner, subject, contentBuf.toString());
new CmsMailTransport(mail2).send();
}
catch(Exception exc) {